﻿//#include<iostream>
//#include<cstdio>
//using namespace std;
////B2013 温度表达转化
//int main()
//{
//	double f;
//	cin >> f;
//	double c = 5 * (f - 32) / 9;
//	printf("%.5f", c);
//	return 0;
//}
//B2012 甲流疫情死亡率
//int main()
//{
//	int a, b;
//	cin >> a >> b;
//	printf("%.3f%%\n", b * 1.0 / a * 100);
//	return 0;
//}
//NC21992
//int main()
//{
//    int a, b;
//    cin >> a >> b;
//    double ret = a * 1.0 / b;
//    printf("%.3f", ret);
//    return 0;
//}

//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	printf("%d\n", arr[7]);//8
//	printf("%d\n", arr[3]);//4
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("&arr[%d] = %p\n ", i, &arr[i]);
//	}
//	return 0;
//}
//#include <stido.h>
//int main()
//{
//	int arr[10] = { 0 };
//	printf("%d\n", sizeof(arr));
//	return 0;
//}
//#include <stido.h>
//int main()
//{
//	int arr[10] = { 0 };
//	printf("%d\n", sizeof(arr[0]));//计算⼀个元素的⼤⼩，单位是字节
//	return 0;
//}
//#include <stido.h>
//int main()
//{
//	int arr[10] = { 0 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	printf("%d\n", sz);
//	return 0;
//}
//type arr_name[常量值1][常量值2]；
//例如：
//int arr[3][5];
//double data[2][8];
//int arr5[][5] = { 1,2,3 };
//int arr6[][5] = { 1,2,3,4,5,6,7 };
//int arr7[][5] = { {1,2}, {3,4}, {5,6} };
//#include <stdio.h>
//int main()
//{
//	int arr[3][5] = { 1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7 };
//	printf("%d\n", arr[2][4]);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[3][5] = { 1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7 };
//	int i = 0;//遍历⾏
//	//输⼊
//	for (i = 0; i < 3; i++) //产⽣⾏号
//	{
//		int j = 0;
//		for (j = 0; j < 5; j++) //产⽣列号
//		{
//			scanf("%d", &arr[i][j]); //输⼊数据
//		}
//	}
//	//输出
//	for (i = 0; i < 3; i++) //产⽣⾏号
//	{
//		int j = 0;
//		for (j = 0; j < 5; j++) //产⽣列号
//		{
//			printf("%d ", arr[i][j]); //输出数据
//		}
//		printf("\n");
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[3][5] = { 0 };
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < 3; i++)
//	{
//		for (j = 0; j < 5; j++)
//		{
//			printf("&arr[%d][%d] = %p\n", i, j, &arr[i][j]);
//		}
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);//根据输⼊数值确定数组的⼤⼩
//	int arr[n];
//	int i = 0;
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	for (i = 0; i < n; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	char arr1[] = "welcome to bit...";
//	char arr2[] = "#################";
//	int left = 0;
//	int right = strlen(arr1) - 1;
//	printf("%s\n", arr2);
//	while (left <= right)
//	{
//		Sleep(1000);
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		left++;
//		right--;
//		printf("%s\n", arr2);
//	}
//	retutn 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int left = 0;
//	int right = sizeof(arr) / sizeof(arr[0]) - 1;
//	int key = 7;//要找的数字
//	int mid = 0;//记录中间元素的下标
//	int find = 0;
//	while (left <= right)
//	{
//		mid = (left + right) / 2;
//		if (arr[mid] > key)
//		{
//			right = mid - 1;
//		}
//		else if (arr[mid] < key)
//		{
//			left = mid + 1;
//		}
//		else
//		{
//			find = 1;
//			break;
//		}
//	}
//	if (1 == find)
//		printf("找到了,下标是%d\n", mid);
//	else
//		printf("找不到\n");
//	return 0;
//}
//#include <stdio.h>
//#include <math.h>
//int main()
//{
//	double d = 16.0;
//	double r = sqrt(d);
//	printf("%lf\n", r);
//	return 0;
//}
//#include <stdio.h>
//int Add(int x, int y)
//{
//	int z = 0;
//	z = x + y;
//	return z;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	//输⼊
//	scanf("%d %d", &a, &b);
//	//调⽤加法函数，完成a和b的相加
//	//求和的结果放在r中
//	int r = Add(a, b);
//	//输出
//	printf("%d\n", r);
//	return 0;
//}
//int Add(int x, int y)
//{
//	return x + y;
//}
//#include <stdio.h>
//int Add(int x, int y)
//{
//	int z = 0;
//	z = x + y;
//	return z;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	//输⼊
//	scanf("%d %d", &a, &b);
//	//调⽤加法函数，完成a和b的相加
//	//求和的结果放在r中
//	int r = Add(a, b);
//	//输出
//	printf("%d\n", r);
//	return 0;
//}
//#include <stdio.h>
//int Add(int x, int y)
//{
//	int z = 0;
//	z = x + y;
//	return z;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	//输⼊
//	scanf("%d %d", &a, &b);
//	//调⽤加法函数，完成a和b的相加
//	//求和的结果放在r中
//	int r = Add(a, b);
//	//输出
//	printf("%d\n", r);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	set_arr();//设置数组内容为-1
//	print_arr();//打印数组内容
//	return 0;
//}
//#include <stdio.h>
//void set_arr(int arr[], int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		arr[i] = -1;
//	}
//}
//void print_arr(int arr[], int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	printf("\n");
//}
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	set_arr(arr, sz);//设置数组内容为-1
//	print_arr(arr, sz);//打印数组内容
//	return 0;
//}
//#include<stdio.h>
//int is_leap_year(int y)
//{
//	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
//		return 1;
//	else
//		return 0;
//}
//int get_days_of_month(int y, int m)
//{
//	int days[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//	int day = days[m];
//	if (is_leap_year(y) && m == 2)
//		day += 1;
//	return day;
//}
//int main()
//{
//	int y = 0;
//	int m = 0;
//	scanf("%d %d", &y, &m);
//	int d = get_days_of_month(y, m);
//	printf("%d\n", d);
//	return 0;
//}

//#include <stdio.h>
//#include<string.h>
//int main()
//{
//	int len = strlen("abcdef");//1.strlen求⼀个字符串的⻓度
//	printf("%d\n", len);//2.打印⻓度
//	return 0;
//}
//#include <stdio.h>
//#include<string.h>
//int main()
//{
//	printf("%d\n", strlen("abcdef"));//链式访问
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	printf("%d", printf("%d", printf("%d", 43)));
//	return 0;
//}
//int printf(const char* format, ...);
//#include <stido.h>
////判断⼀年是不是闰年
//int is_leap_year(int y)
//{
//	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
//		return 1;
//	else
//		return 0;
//}
//int main()
//{
//	int y = 0;
//	scanf("%d", &y);
//	int r = is_leap_year(y);
//	if (r == 1)
//		printf("闰年\n");
//	else
//		printf("⾮闰年\n");
//	return 0;
//}
//#include <stido.h>
//int is_leap_year(int y)；//函数声明
//int main()
//{
//	int y = 0;
//	scanf("%d", &y);
//	int r = is_leap_year(y);
//	if (r == 1)
//		printf("闰年\n");
//	else
//		printf("⾮闰年\n");
//	return 0;
//}//判断⼀年是不是闰年
//int is_leap_year(int y)
//{
//	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
//		return 1;
//	else
//		return 0;
//}
//// 函数的定义
//int Add(int x, int y)
//{
//	return x + y;
//}
////函数的声明
//int Add(int x, int y); test.c
//#include <stdio.h>
//#include "add.h"
//int main()
//{
//	int a = 10;
//	int b = 20;
//	//函数调⽤
//	int c = Add(a, b);
//	printf("%d\n", c);
//	return 0;
//}
////代码1
//#include <stdio.h>
//void test()
//{
//	int i = 0;
//	i++;
//	printf("%d ", i);
//}
//int main()
//{
//	int i = 0;
//	for (i = 0; i < 5; i++)
//	{
//		test();
//	}
//	return 0;
//}
//// 代码2
//#include <stdio.h>
//void test()
//{
//	//static修饰局部变量
//	static int i = 0;
//	i++;
//	printf("%d ", i);
//}
//int main()
//{
//	int i = 0;
//	for (i = 0; i < 5; i++)
//	{
//		test();
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	printf("hehe\n");
//	main();//main函数中⼜调⽤了main函数
//	return 0;
//}
//int Fact(int n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * Fact(n - 1);
//}
//#include <stdio.h>
//int Fact(int n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * Fact(n - 1);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fact(n);
//	printf("%d\n", ret);
//	return 0;
//}
//Print(n)
//如果n是1234，那表⽰为
//Print(1234) //打印1234的每⼀位
//其中1234中的4可以通过 % 10得到，那么
//Print(1234)就可以拆分为两步：
//1. Print(1234 / 10) //打印123的每⼀位
//2. printf(1234 % 10) //打印4
//完成上述2步，那就完成了1234每⼀位的打印
//那么Print(123)⼜可以拆分为Print(123 / 10) + printf(123 % 10)
//    Print(1234)
//==> Print(123) + printf(4)
//==> Print(12) + printf(3)
//==> Print(1) + printf(2)
//==> printf(1)
//#include<stdio.h>
//void Print(int n)
//{
//	if (n > 9)
//	{
//		Print(n / 10);
//	}
//	printf("%d ", n % 10);
//}
//int main()
//{
//	int m = 0;
//	scanf("%d", &m); 
//	Print(m);
//	return 0;
//}
//int Fact(int n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * Fact(n - 1);
//}
//int Fact(int n)
//{
//	int i = 0;
//	int ret = 1;
//	for (i = 1; i <= n; i++)
//	{
//		ret *= i;
//	}
//	return ret;
//}
//int Fib(int n)
//{
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}
//#include <stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	return 0;
//}
//#include <stdio.h>
//int count = 0;
//int Fib(int n)
//{
//	if (n == 3)
//		count++;//统计第3个斐波那契数被计算的次数
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n); int ret = Fib(n);
//	printf("%d\n", ret);
//	printf("\ncount = %d\n", count);
//	return 0;
//}
int Fib(int n)
{
	int a = 1;
	int b = 1;
	int c = 1;
	while (n > 2)
	{
		c = a + b;
		a = b;
		b = c;
		n--;
	}
	return c;
}